#define _CRT_SECURE_NO_WARNINGS 1
void check(char* ps, char* pr) {
    int i = 0;
    int j = 0;
    while (ps[i] != '\0') {
        if (isalnum((unsigned)ps[i])) {
            pr[j++] = tolower((unsigned)ps[i]);
        }
        i++;
    }
    pr[j] = '\0';
}
bool isPalindrome(char* s) {
    if (s == NULL || *s == '\0') {
        return true;
    }
    char arr[200001];
    check(s, arr);
    int l = 0;
    int r = strlen(arr) - 1;
    int flog = 1;

    while (l < r) {
        if (arr[l] != arr[r]) {
            return false;
        }
        l++;
        r--;
    }
    return true;
}